T1_Region_Page_Template [ACTIVE v2.0].md

canon/tiers/01_Tier_1_Foundation/T1_Region_Page_Template [ACTIVE v2.0].md

T1_Region_Page_Template

Humanity Project — Canonical Region Page Specification (v2.0)

Joshua Alexander Milks. CONFIDENTIAL.

Last updated: July 15, 2026. (v2.0 — the post-spine-v3 consumption-contract revision; supersedes

v1.0 of May 3, 2026. The v1.0 20-section structure is PRESERVED; v2.0 adds the machine

consumption boundary, corrects retired references and stale vocabulary, and re-points the build

chains to the researched stack. Change log at the bottom.)

Authority and Scope

This doc owns the canonical template every region page conforms to. All 69 region pages

instantiate it. All downstream pipelines that consume region content read against this spec.

Authority position. Subordinate to the CVD on world canon and hard lines. Subordinate to

T0_Schema_Dictionary on Tier-0 schema. **Subordinate to the v3 story spine

(docs/SPINE_SCHEMA_v3.md + docs/spine/CH_*.md) on everything the spine's typed layer carries** —

see The Consumption Boundary below; field-level conflicts between an individual page and this

spec resolve to this spec, and conflicts between a page and the spine's typed rows resolve to

the spine.

Home and identity (ratified 2026-07-15). Region pages live at

_source/02_Tier_2_Region_Pages/<region_id>.md. region_id is the live snake_case slug

(the T0_Region_Index key); every page accesses region identity through that one key — no

T8_REGION_NNN or REG_NNN forms. The gate harness/check_region_page.py enforces this spec;

a page is not Build Ready until it passes.

Consumed by (the pipeline contracts, T1_Build_Pipeline_Contracts): §7 Region Build (authoring),

§6 Quest Writing, §1 UE5 Build (via the three-seam routing: NeoStack = judgment, UE-native

Python/Remote-Control = bulk/CI, Epic MCP = PCG), §2 asset generation (the ruled local split),

§3 music, §4 voice, §5 Cinematic, §10 SFX, and the recall layer (recall node <region_id>).

The Consumption Boundary (v2.0 — the load-bearing rule)

The v3 spine's typed layer is AUTHORITATIVE for everything it carries. A region page CONSUMES

and AGGREGATES those rows; it never re-authors them:

· climactic_affordance · protected — the page's Zone Catalog JOINS these and adds only what

the spine leaves downstream: geometry (area_bounds, zone polygons), traversal distances,

build sizing.

page carries derived per-region INDEXES over them (below), never divergent copies.

Anything expressible through that join is READ from the spine at build time.

What the page ADDS (its own authority): the region-scope substrate (culture, flora/fauna,

architecture, trade, music — Sections 2-10), geometry and build parameters, asset hooks, the

cross-regional web, quest dressing and side-quest seeds, and the aggregation indexes.

Header Sections

Every page opens with two required header blocks before Section 1.

Region Identity

Character Quick Reference

A hard separator follows: HEADER END — BODY BELOW.

The Machine Blocks (v2.0 — between the header and Section 1)

Zone Catalog (typed rows; the §7.3 canonical_zones successor)

One row per zone: `zone_id | source site_id(s) (spine §3b) or region-ambient | terrain |

gameplay functions | ambient_threat | vril_density | climactic_affordances | protected |

area_bounds (geometry — page-side) | build_priority`. Rows sourced from spine site_ids copy

those fields VERBATIM from the §3b rows and may only ADD geometry/build fields.

Zone Catalog value-encoding grammar (the extension-column contract)

The ten columns above are the base schema. Page-authored EXTENSION columns may be appended after

build_priority, but ONLY by the single sanctioned writer harness/apply_zone_catalog_columns.py

(never by hand); harness/regen_zone_catalog.py preserves them verbatim against a spine change, and

harness/extract_zone_catalog.py emits them into the FZoneRow CSV. The header and every data row grow

in lockstep — a row wider or narrower than the header hard-fails the reader and the regenerator. Every

extension cell obeys ONE shared value-encoding grammar so the downstream CSV consumer parses a single

shape:

precedent on T0_Boss_Encounter (for example direct=lunge_feint_dodge;stealth=stalk_tell_break). No

spaces around the = or the ;; a value never contains a pipe, a newline, a ;, or an =.

east, north, each a signed decimal-degree number in WGS84 (negative for south and west).

value yet, or a value another lane populates later). The writer's --populate-empty mode fills such

cells later, all-or-nothing per column, without ever overwriting a non-empty cell and without

schema churn.

Declared Zone Catalog extension columns (the T0.2 column pack)

These seven are the DECLARED extension columns of the Zone Catalog — the canonical allowed set that

grows the table beyond the ten base columns. A Zone Catalog column that is neither a base column nor

declared here is undeclared and is to be treated as an error by any gate that pins the column set;

this list is that gate's declaration home. Column order after build_priority is as listed:

site's published centroid with one fixed padding convention; the empty string for a fictional,

composite, or unlocatable zone (never a guessed box).

mapped from the zone's build_priority tier and role. Distinct from area_bounds, which stays

untouched (the scale-compression policy owns this parameter, geometry sizing owns that one).

fetch populates it (a guessed class would be false precision).

mixed), derived from the zone's terrain via the documented terrain→surface table; feeds the

MetaSounds footstep graph.

the protected flag and the page's explicit care-register overlay where one is ruled.

asset_category/asset_routing enum is ratified (an unratified enum value would be invented canon).

whose grammar matches the zone's terrain and functions; the empty string when no defensible match

exists (never a forced one).

Derived Indexes (generated from the spine at build time; regenerate, never hand-edit)

additions (the only scene rows a page may AUTHOR).

forward_track) and the ws.* keys the region's forks touch.

The Twenty Numbered Sections

Section 1 — Geography and Topography

Terrain data plus the build chain (researched 2026-07-15, tech_research/GEODATA_TERRAIN_CHAIN):

DEM source Copernicus GLO-30 via the OpenTopography API (NASADEM fallback) per the region

bounding box · meters-per-vertex (the ONE scale-compression parameter — a per-region design

decision) · GDAL/rasterio alteration recipe (the fantasy-site carve/composite list, scripted) ·

Gaea detail-synthesis pass (erosion/river detail) · UE Landscape import sizing (8,129-vertex

actor cap; World Partition tiling) · ESA WorldCover landcover → material-layer weightmap mapping.

Time-period modifications from modern: sea level, coastline, glaciers, deforestation reversal,

river courses, volcanic activity. Climate and atmosphere. Vril sites per site: name, type,

recharge rate, cultural significance, access, build notes — sourced from T0_Vril_Site_Registry

Section 2 — Flora and Botany

As v1.0: native flora baseline pre-contact; herbalism Book-of-Trades entries (medicinal, toxic,

ritual, psychoactive, food). Build notes: foliage source-assets (Fab/Megascans matches, custom

models), density, palette, wind.

Section 3 — Fauna and Animal Life

As v1.0 (mammals, birds, reptiles per the Serpent Thread, marine, familiar candidates with full

entries) — with the v2.0 registry direction: T0_Creature_Roster is POPULATED (132 rows) — the

page CONSUMES existing rows for creatures the spine already staged and FEEDS new region-ambient

rows; folkloric beings route to Creature_Roster.folklore_attribution (the old

T0_Folklore_Entity_Registry is RETIRED/absorbed). Familiar element types verify against canon.

Section 4 — People and Culture

As v1.0 in full (demographics, appearance for NPC design, dress, daily life, food, marriage/

gender/social structure, population centers with per-settlement data). §17.1 binds: living

peoples are rendered with care as weight and authenticity; the page records the represent-with-

care posture per community.

Section 5 — Spiritual Traditions and Occult

As v1.0 (cosmology, the vital-force/vril-parallel framing — vril reads mathematical/physical,

the Vril-Society firewall; ritual practices; spiritual leadership; myths; occult connections and

player rabbit holes). Registry feeds: School content → T0_School_Registry (13 rows exist —

consume + extend); folkloric beings → Creature_Roster.folklore_attribution.

Section 6 — Weapons Military and Conflict

As v1.0 in full (era weapons per weapon with build specs; the legendary candidate per the

72-weapon canon (36 Brute + 36 Trickery) with the four-ability pool; armor; military

organization; warrior culture; documented conflicts).

Section 7 — Architecture and Engineering

As v1.0 (settlement layout, residential, sacred/public, engineering feats, Book-of-Trades

engineering entries) — with the v2.0 asset rule: REAL cultural architecture is reference-built,

never raw-generated (§17.1); generation is sanctioned for fantastical/vril structures only.

Section 8 — Politics Territories and Faction Relationships

As v1.0 (political structure; territories; the Five-Factors faction table per neighbor —

relationship type, player impact, standing on arrival, improve/destroy, questline; wars with

the player's role) — path language uses the ratified fork vocabulary: options are ACTION-keyed

with direction {generative, neutral, corrosive}; bands are DERIVED, never option labels.

Section 9 — Minerals Resources and Trade Goods

As v1.0 in full (minerals per mineral with Book-of-Trades entries; blacksmithing/metallurgy;

trade goods, routes, currency, markets).

Section 10 — Music Sound and Composition Brief

As v1.0 (documented instruments, musical theory, the composition briefs per track type, sound

design). RULED MUSIC STACK (Josh 2026-07-27, AIVA closed as skip): bulk, regional, and ambient cues

generate on the local benchmark-gated models (ACE-Step 1.5 / YuE); canonical and hero themes run

composer-in-loop with a human composer. Briefs are written vendor-neutral — instrumentation,

register, adaptive-class tag — never to a vendor prompt form

— with the v2.0 voice/audio tiering note: bulk ambient NPC lines route to the local no-clone

tier; hero/named voices to ElevenLabs behind the §4.4.1 clone-authorization gate.

Section 11 — Velheim Family Presence

As v1.0 (institutional form; family characters with three-path outcomes; quest encounters) —

with the v2.0 vocabulary + reveal rules: pre-Ch-65 encounters express player choice as

direction-keyed fork options; post-lock content is path_bucket-dispatched {TRULY_GOOD,

GOOD_ENOUGH, EVIL}; the page NEVER exceeds the reveal ladder at its chapters' positions (the

who-frame, Corr/Astrid, Cassius, and thesis clocks bind at page grain exactly as at spine grain).

Section 12 — All Characters Full Entries

As v1.0 (protagonist path through the region referencing the spine, never duplicating; the NPC

entry template with daily routines for the behavior system, three-path outcomes, dialogue hooks,

build notes). NPCs are MetaHuman-first; entries carry the persona fields per the entity-persona

system.

Section 13 — Quest Framework, All Questline Types

The v1.0 category list stands (Main Story · 22 Threads · SQ1-12 · 10 Trades · 72 Weapon

Legendaries · Familiar Bonds · School Curriculum · Folklore Combat · Grimoire Links · Seed

Defense · 20+ Infinite Side Quest Seeds) — with the v2.0 authority split: beat structure, fork

shapes, SQ stages/gates, and spatial requirements COME FROM the spine's typed graph (the §11

rows + beat/fork tables + §3b sites); the page adds region-scope quest DRESSING, the side-quest

seeds (each with premise, NPC, integrity implication via direction vocabulary, reward, plus the

v2.0 typed seed stub per Contracts §7.5 and the pipeline-review AM item — proposed_quest_type,

suggested_questline_id, a zone_ref or site_ref, and either a realized_beat_ref or an explicit

region_ambient marker — so each seed lands as bindable substrate rather than free prose; a seed that

fits no §6.5 quest_type routes its category-mint to the flag under the observed-enum-pin discipline

rather than being force-fit), and the convergence-node feed notes.

Section 14 — Trade Skills, Detailed Content

As v1.0 in full (home-base trade content, trade-master NPC, Book-of-Trades entries per region

across the ten trades).

Section 15 — Cross-Regional Connections

As v1.0 (connections to visited regions with journal entries; serpent-thread continuity; the

Velheim pattern echo; vital-force parallels; seeds for future regions) — plus the v2.0 machine

tie: every connection cites its Cross_Cultural_Link_Graph row or the connective-web id

(IR-/ECV-/FR-/KM-/TL-class) where one exists; reciprocation discipline binds (A's claimed link

to B requires B's reciprocal claim).

Section 16 — Academic References and Books to Acquire

As v1.0 (priority books, free primary sources, the verify list, rabbit holes — minimum five) —

with two v2.0 mandates: (1) every citation carries its use_class (SUBSTRATE ·

ESOTERIC-PRIMARY · AUTHORIAL-REBUTTAL · REFERENCE · TONE · DUPLICATE · FRINGE-SKIP, per

BOOKS_OWNED): SUBSTRATE cites as primary evidence; ESOTERIC-PRIMARY only in the L3

esoteric-grounding layer; AUTHORIAL-REBUTTAL may never be cited as truth; DUPLICATE names a

second copy or conversion of a work already carried under another SRC id and is never cited as

corroboration — cite the primary id. (2) Book-substrate citations arrive via the

query layer as (title, author, year, page) with SRC_ ids — the retrieval-provenance trail

(corpus_query_log) rides the page.

Section 17 — Unreal Engine 5.8 Build Specifications

The v1.0 fields stand (environment areas, interiors, vegetation palette, NPC population and

behavior, performance budget) — re-pointed to the researched chain (tech_research/

UE_BUILD_AUTOMATION): registry data lands as DataTables (one C++ USTRUCT per registry); PCG

consumes the Zone Catalog + DataTables (Load Data Table → attribute sets); the Landscape import

runs the Python path (the C++ shim where stock Python falls short); scene rows drive Sequencer;

the three-seam routing rule governs which agent surface executes which step; MetaHuman batch

generation round-trips Epic's cloud (throughput budgeted per region); ws.* worldstate keys bind

to the save subsystem. **Localization-ready discipline binds from the first page: every

player-facing string lands in string tables (FText/String Table flow), never hard-coded — the

ship-everywhere ruling makes this non-negotiable.** Performance budget per v1.0 (platform,

frame rate, triangle/draw-call budgets, LODs, streaming).

Section 18 — Time Period and Fluctuation Design

As v1.0 in full (time display, fluctuation events, era glimpses, switching mechanics).

Section 19 — World State Versions, Modern Revisit

After Vimana activation (Ch 55), the player revisits from the air and sees the

integrity-mapped world states. **v2.0 vocabulary (the ratified two-axis model — the v1.0

"L3 Neutral / L5 Truly Bad" labels are RETIRED):** the five DERIVED texture bands are

{Truly Good · Good Enough · Drifting · Evil · Pure Evil (terminal)}; the five world-state

NAMES are {Luminous · Restored · Neutral · Damaged · Corrupted} (Neutral exists ONLY as the

WS3 world-state name, never a band or ending label); endings resolve by the Ch-65-locked

path_bucket {TRULY_GOOD, GOOD_ENOUGH, EVIL}. Visual differences per state. Modern Velheim

presence per state.

Section 20 — Session Planning and Source Guide

As v1.0, re-pointed: the per-region population plan (which staged SRC_ sources feed which

sessions), the processing status against the book pipeline (inbox → processed → registry), and

the build-ready date. (The v1.0 book-cost fields are superseded by the closed acquisition

ledger — BOOK_ACQUISITION_MINIMIZED, signed off + purchased.)

T0 Registry Contract (v2.0 — two directions, replacing the v1.0 one-way feed)

CONSUME (populated upstream; the page reads, joins, and never diverges): T0_Chapter_Index ·

T0_Boss_Encounter_Registry (282 rows) · T0_Creature_Roster (132) · T0_School_Registry (13) ·

T0_Thread_Grid · T0_Hard_Lines · T0_Vril_Site_Registry · T0_Worldstate_Variables · the spine

typed layer itself.

FEED (the page is the population source): T0_Region_Index (header metadata + zone geometry) ·

T0_Familiar_Registry (Section 3 candidates) · T0_Questline_Index (Section 13) ·

T0_Character_Index additions (Section 12) · T0_Weapon_Registry legendary details (Section 6) ·

Cross_Cultural_Link_Graph rows (Section 15) · T0_Source_Material_Registry provenance (Section

16) · the L1 fun-systems registries where sections touch them (T0_Dwelling_Registry,

T0_Vehicle_Registry, T0_Minigame_Registry, T0_Reputation_Ladder_Registry,

T0_Environment_Grammar_Registry, T0_Rune_Registry, T0_Hollow_Codex).

Consumer Loading Patterns

mesh-category tags.

Change Log

grammar (semicolon key=value, the composure_nodes precedent; bbox as w/s/e/n decimal degrees;

semicolon-joined list tokens; the empty string as the cited-or-empty marker) and the seven DECLARED

extension columns of the T0.2 column pack (zone_bounds_wgs84, meters_per_vertex, worldcover_biome,

footfall_surface, care_tier, asset_routing, environment_grammar_refs). The ten base columns and all

v2.0 sections are otherwise unchanged; area_bounds stays the geometry-sizing parameter, untouched by

the pack.

Boundary + the Machine Blocks (Zone Catalog, Derived Indexes, recall binding) added; home +

region_id ratified (snake_case at _source/02_Tier_2_Region_Pages/); the retired

T0_Folklore_Entity_Registry feed re-pointed to Creature_Roster.folklore_attribution; the

Section-19 stale vocabulary replaced with the ratified two-axis model; Section 1 re-pointed

to the researched terrain chain; Section 17 re-pointed to the researched UE-5.8 chain + the

localization-ready mandate; Section 16 gains per-citation use_class + provenance; the

registry contract split CONSUME/FEED (several v1.0 "feeds" are now populated upstream);

Drive-era paths dropped; the gate named. The 20-section structure and all v1.0 field

inventories are otherwise preserved.

v1.0 file history: 72 weapons canonical; the v4 questline categories; Velheim naming).

Generated by harness/site/structure_site.py — the URL path is the repo path. review root